package fachadaImagen.delegate;

import java.util.List;

import multimedia.MultimediaTO;
import fachadaImagen.actions.BuscarImagenAction;
import fachadaImagen.actions.BuscarPorNombreAction;
import fachadaImagen.actions.EditarImagenAction;
import fachadaImagen.actions.EliminarImagenAction;
import fachadaImagen.actions.ListarImagenesAction;
import fachadaImagen.actions.RegistrarImagenAction;

public class ImagenFacadeDelegate implements IImagenFacade {

	@SuppressWarnings("unchecked")
	public List<MultimediaTO> buscarImagen(String palabraClave) {
		BuscarImagenAction accion = new BuscarImagenAction(palabraClave);
		return (List<MultimediaTO>) accion.Execute();
	}

	public void registrarImagen(MultimediaTO imagen) {
		RegistrarImagenAction accion = new RegistrarImagenAction(imagen);
		accion.Execute();
	}

	public MultimediaTO buscarPorNombre(String nombreImagen) {
		BuscarPorNombreAction accion = new BuscarPorNombreAction(nombreImagen);
		return (MultimediaTO) accion.Execute();
	}

	@SuppressWarnings("unchecked")
	public List<MultimediaTO> listarImagenes() {
		ListarImagenesAction accion = new ListarImagenesAction();
		return (List<MultimediaTO>) accion.Execute();
	}

	public void eliminarImagen(String imagen) {
		EliminarImagenAction accion = new EliminarImagenAction(imagen);
		accion.Execute();
	}

	public void editarImagen(String nombreImagen, String nuevaPalabraClave) {
		EditarImagenAction accion = new EditarImagenAction(nombreImagen,
				nuevaPalabraClave);
		accion.Execute();
	}

}
